package mysql8学习.高级.第06章_索引的数据结构;

/**
 *  索引是个好东西，可不能乱建，它在空间和时间上都会有消耗:
 * ● 空间上的代价
 *   每建立一个索引都要为它建立一棵B+树,每一棵B+树的每一个节 点都是一个数据页,
 *   一个页默认会占用16KB的存储空间，一棵很大的B+树由许多数据页组成,那就是很大的一片存储空间。
 * ● 时间上的代价
 *   每次对表中的数据进行增、删、改操作时，都需要去修改各个B+树索引。
 *   而且我们讲过, B+树每层节点都是按照索引列的值从小到大的顺序排序而组成了双向链表。
 *   不论是叶子节点中的记录，还是内节点中的记录 (也就是不论是用户记录还是目录项记录)
 *   都是按照索引列的值从小到大的顺序而形成了一个单向链表。
 *   而增、删、改操作可能会对节点和记录的排序造成破坏，
 *   所以存储引擎需要额外的时间进行一些记录移位，
 *   页面分裂、页面回收 等操作来维护好节点和记录的排序。
 *   如果我们建了许多索引，每个索引对应的 B+树都要进行相关的维护操作，会给性能拖后腿。
 *
 *
 */
public class I_索引的代价 {
}
